package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.dto.PointDto;
import hw.topevery.framework.enums.DbTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

import java.util.List;

/**
 * 
 *
 * @author code-generate
 * @date 2021-08-26
 */
@Data
@DbTable(tableName = "t_botany_tree_info")
public class BotanyTreeInfo extends BaseEntity {
        /**
     * 标识
     */
    @DbTableField(columnName = "c_flag", dbType = DbTypeEnum.INTEGER)
    public Integer flag ;

    /**
     * 编号
     */
    @DbTableField(columnName = "c_code", dbType = DbTypeEnum.VARCHAR)
    public String code ;

    /**
     * 名称
     */
    @DbTableField(columnName = "c_name", dbType = DbTypeEnum.VARCHAR)
    public String name ;

    /**
     * 别名
     */
    @DbTableField(columnName = "c_alias_name", dbType = DbTypeEnum.VARCHAR)
    public String aliasName ;

    /**
     * 拉到名
     */
    @DbTableField(columnName = "c_latin_name", dbType = DbTypeEnum.VARCHAR)
    public String latinName ;

    /**
     * 科
     */
    @DbTableField(columnName = "c_section", dbType = DbTypeEnum.VARCHAR)
    public String section ;

    /**
     * 属
     */
    @DbTableField(columnName = "c_genus", dbType = DbTypeEnum.VARCHAR)
    public String genus ;

    /**
     * 分布区域
     */
    @DbTableField(columnName = "c_distribution_area", dbType = DbTypeEnum.VARCHAR)
    public String distributionArea ;

    /**
     * 等级Id
     */
    @DbTableField(columnName = "c_level_id", dbType = DbTypeEnum.VARCHAR)
    public String levelId ;

    /**
     * 等级
     */
    @DbTableField(columnName = "c_level", dbType = DbTypeEnum.VARCHAR)
    public String level ;

    /**
     * 位置
     */
    @DbTableField(columnName = "c_address", dbType = DbTypeEnum.VARCHAR)
    public String address ;

    /**
     * 坐标X
     */
    @DbTableField(columnName = "c_lng_bd09", dbType = DbTypeEnum.FLOAT)
    public Float lngBd09 ;

    /**
     * 坐标Y
     */
    @DbTableField(columnName = "c_lat_bd09", dbType = DbTypeEnum.FLOAT)
    public Float latBd09 ;

    /**
     * 坐标 wgs84 x
     */
    @DbTableField(columnName = "c_lng_wgs", dbType = DbTypeEnum.FLOAT)
    public Float lngWgs ;

    /**
     * 坐标 wgs84 y
     */
    @DbTableField(columnName = "c_lat_wgs", dbType = DbTypeEnum.FLOAT)
    public Float latWgs ;

    /**
     * 坐标大地2000X
     */
    @DbTableField(columnName = "c_lng_2000", dbType = DbTypeEnum.FLOAT)
    public Float lng2000 ;

    /**
     * 坐标大地2000Y
     */
    @DbTableField(columnName = "c_lat_2000", dbType = DbTypeEnum.FLOAT)
    public Float lat2000 ;

    /**
     * 坐标 gcj02 x
     */
    @DbTableField(columnName = "c_lng_gcj02", dbType = DbTypeEnum.FLOAT)
    public Float lngGcj02 ;

    /**
     * 坐标 gcj02 y
     */
    @DbTableField(columnName = "c_lat_gcj02", dbType = DbTypeEnum.FLOAT)
    public Float latGcj02 ;

    /**
     * 坐标 百度墨卡托 x
     */
    @DbTableField(columnName = "c_lng_bdmkt", dbType = DbTypeEnum.FLOAT)
    public Float lngBdmkt ;

    /**
     * 坐标 百度墨卡托 Y
     */
    @DbTableField(columnName = "c_lat_bdmkt", dbType = DbTypeEnum.FLOAT)
    public Float latBdmkt ;

    /**
     * 类别 ( 1-后备 2-古树名木 3-稀有)
     */
    @DbTableField(columnName = "c_type", dbType = DbTypeEnum.VARCHAR)
    public String type ;

    /**
     * 树高
     */
    @DbTableField(columnName = "c_hight", dbType = DbTypeEnum.VARCHAR)
    public String hight ;

    /**
     * 树宽
     */
    @DbTableField(columnName = "c_weight", dbType = DbTypeEnum.VARCHAR)
    public String weight ;

    /**
     * 胸径
     */
    @DbTableField(columnName = "c_diameter", dbType = DbTypeEnum.VARCHAR)
    public String diameter ;

    /**
     * 特点
     */
    @DbTableField(columnName = "c_special", dbType = DbTypeEnum.VARCHAR)
    public String special ;

    /**
     * 权属
     */
    @DbTableField(columnName = "c_ownership", dbType = DbTypeEnum.VARCHAR)
    public String ownership ;

    /**
     * 真实树龄
     */
    @DbTableField(columnName = "c_real_age", dbType = DbTypeEnum.VARCHAR)
    public String realAge ;

    /**
     * 估测树龄
     */
    @DbTableField(columnName = "c_estimate_age", dbType = DbTypeEnum.VARCHAR)
    public String estimateAge ;

    /**
     * 平均冠幅
     */
    @DbTableField(columnName = "c_average_range", dbType = DbTypeEnum.VARCHAR)
    public String averageRange ;

    /**
     * 东西冠幅
     */
    @DbTableField(columnName = "c_east_west_range", dbType = DbTypeEnum.VARCHAR)
    public String eastWestRange ;

    /**
     * 南北冠幅
     */
    @DbTableField(columnName = "c_north_south_range", dbType = DbTypeEnum.VARCHAR)
    public String northSouthRange ;

    /**
     * 海拔
     */
    @DbTableField(columnName = "c_altitude", dbType = DbTypeEnum.VARCHAR)
    public String altitude ;

    /**
     * 坡向
     */
    @DbTableField(columnName = "c_slope_direction", dbType = DbTypeEnum.VARCHAR)
    public String slopeDirection ;

    /**
     * 坡度
     */
    @DbTableField(columnName = "c_slope_degree", dbType = DbTypeEnum.VARCHAR)
    public String slopeDegree ;

    /**
     * 坡位
     */
    @DbTableField(columnName = "c_slope_position", dbType = DbTypeEnum.VARCHAR)
    public String slopePosition ;

    /**
     * 土壤名称
     */
    @DbTableField(columnName = "c_soil_name", dbType = DbTypeEnum.VARCHAR)
    public String soilName ;

    /**
     * 紧密度
     */
    @DbTableField(columnName = "c_compactness", dbType = DbTypeEnum.VARCHAR)
    public String compactness ;

    /**
     * 生长环境
     */
    @DbTableField(columnName = "c_growth_environment", dbType = DbTypeEnum.VARCHAR)
    public String growthEnvironment ;

    /**
     * 生长势
     */
    @DbTableField(columnName = "c_growth_potential", dbType = DbTypeEnum.VARCHAR)
    public String growthPotential ;

    /**
     * 管理单位Id
     */
    @DbTableField(columnName = "c_manage_dept_id", dbType = DbTypeEnum.VARCHAR)
    public String manageDeptId ;

    /**
     * 管理单位
     */
    @DbTableField(columnName = "c_manage_dept", dbType = DbTypeEnum.VARCHAR)
    public String manageDept ;

    /**
     * 管理建议
     */
    @DbTableField(columnName = "c_manage_remark", dbType = DbTypeEnum.VARCHAR)
    public String manageRemark ;

    /**
     * 描述
     */
    @DbTableField(columnName = "c_remark", dbType = DbTypeEnum.VARCHAR)
    public String remark ;

    /**
     * 公园Id
     */
    @DbTableField(columnName = "c_park_id", dbType = DbTypeEnum.INTEGER)
    public Integer parkId ;

    /**
     * 片区ID
     */
    @DbTableField(columnName = "c_extent_id", dbType = DbTypeEnum.INTEGER)
    public Integer extentId ;

    /**
     * 范围
     */
    @DbTableField(columnName = "c_geom_bd09", dbType = DbTypeEnum.OTHER)
    public Geometry geomBd09 ;

    @ApiModelProperty(value = "范围点信息")
    public List<List<PointDto>> mapRangesPoints;

    @ApiModelProperty(value = "文件")
    public List<BotanyFile> fileList;

    @ApiModelProperty(value = "类型名称")
    public String typeName;

    /**
     * 数量
     */
    public String totalNumber ;
}
